<!DOCTYPE html>
<!-- saved from url=(0123)https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/ -->
<html lang="zh-CN" data-default-color-scheme="auto" data-user-color-scheme="dark" class=" "><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  
  <link rel="stylesheet" type="text/css" href="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/waline.min.css"><link rel="apple-touch-icon" sizes="76x76" href="https://2333.world/images/apple-touch-icon.png">
  <link rel="icon" href="https://2333.world/images/android-chrome-512x512.png">
  <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=5.0, shrink-to-fit=no">
  <meta http-equiv="x-ua-compatible" content="ie=edge">
  
    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
  
  <meta name="theme-color" content="#2f4154">
  <meta name="author" content="Yuban10703">
  <meta name="keywords" content="Python,Ubuntu,Linux,OpenWrt,树莓派">
  
    <meta name="description" content="下面的操作全都是在的Ubuntu20.04_amd64上演示的  必要条件 OPQBot本体  Python环境 (版本要&gt;=3.8)  非Windows的机子 (Windows版本的OPQBot不能发图)  一个能上外网的代理,或者机子直接就能上外网  一个QQ小号(   准备工作先把要用的软件包安装上 我这里已经安装过了,一般这步都不会有问题的(  1apt update">
<meta property="og:type" content="article">
<meta property="og:title" content="从0开始搭建一个色图Bot">
<meta property="og:url" content="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/index.html">
<meta property="og:site_name" content="Yuban10703&#39;s site">
<meta property="og:description" content="下面的操作全都是在的Ubuntu20.04_amd64上演示的  必要条件 OPQBot本体  Python环境 (版本要&gt;=3.8)  非Windows的机子 (Windows版本的OPQBot不能发图)  一个能上外网的代理,或者机子直接就能上外网  一个QQ小号(   准备工作先把要用的软件包安装上 我这里已经安装过了,一般这步都不会有问题的(  1apt update">
<meta property="og:locale" content="zh_CN">
<meta property="og:image" content="https://cdn.jsdelivr.net/gh/yuban10703/BlogImgdata@master/img/image.7i164u9fsbw0.webp">
<meta property="og:image" content="https://cdn.jsdelivr.net/gh/yuban10703/BlogImgdata@master/img/image.4qfzwtg4v8c0.webp">
<meta property="og:image" content="https://cdn.jsdelivr.net/gh/yuban10703/BlogImgdata@master/img/image.22tslkjs2dpc.webp">
<meta property="og:image" content="https://cdn.jsdelivr.net/gh/yuban10703/BlogImgdata@master/img/image.3jmipehfs8i.webp">
<meta property="og:image" content="https://cdn.jsdelivr.net/gh/yuban10703/BlogImgdata@master/img/image.iox3a6ku8v4.webp">
<meta property="og:image" content="https://cdn.jsdelivr.net/gh/yuban10703/BlogImgdata@master/img/image.38z0y1c2x9q0.webp">
<meta property="og:image" content="https://cdn.jsdelivr.net/gh/yuban10703/BlogImgdata@master/img/image.2ynpv6hqknu0.webp">
<meta property="og:image" content="https://cdn.jsdelivr.net/gh/yuban10703/BlogImgdata@master/img/image.2hesymf51980.webp">
<meta property="og:image" content="https://cdn.jsdelivr.net/gh/yuban10703/BlogImgdata@master/img/image.1zora1dq7dmo.webp">
<meta property="og:image" content="https://cdn.jsdelivr.net/gh/yuban10703/BlogImgdata@master/img/image.41x2js5tj3c0.webp">
<meta property="og:image" content="https://cdn.jsdelivr.net/gh/yuban10703/BlogImgdata@master/img/image.2aexlwnavytc.webp">
<meta property="og:image" content="https://cdn.jsdelivr.net/gh/yuban10703/BlogImgdata@master/img/image.rfevjn8jjnk.webp">
<meta property="og:image" content="https://cdn.jsdelivr.net/gh/yuban10703/BlogImgdata@master/img/image.2zjf9e2zfx60.webp">
<meta property="og:image" content="https://cdn.jsdelivr.net/gh/yuban10703/BlogImgdata@master/img/image.4gkfzghun8g0.webp">
<meta property="og:image" content="https://cdn.jsdelivr.net/gh/yuban10703/BlogImgdata@master/img/image.358ivnz9rhq0.webp">
<meta property="og:image" content="https://cdn.jsdelivr.net/gh/yuban10703/BlogImgdata@master/img/image.4h6hzyw7eh00.webp">
<meta property="og:image" content="https://cdn.jsdelivr.net/gh/yuban10703/BlogImgdata@master/img/image.4b3m4d9u9l40.webp">
<meta property="og:image" content="https://cdn.jsdelivr.net/gh/yuban10703/BlogImgdata@master/img/image.6sryc3x5rok0.webp">
<meta property="og:image" content="https://cdn.jsdelivr.net/gh/yuban10703/BlogImgdata@master/img/image.7jklsx768xs0.webp">
<meta property="og:image" content="https://cdn.jsdelivr.net/gh/yuban10703/BlogImgdata@master/img/image.2wmk5fmkyvc0.webp">
<meta property="article:published_time" content="2022-02-13T13:59:54.000Z">
<meta property="article:modified_time" content="2023-02-15T08:44:52.802Z">
<meta property="article:author" content="Yuban10703">
<meta property="article:tag" content="python">
<meta property="article:tag" content="OPQBot">
<meta property="article:tag" content="QQ">
<meta property="article:tag" content="色图">
<meta property="article:tag" content="setu">
<meta property="article:tag" content="机器人">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="https://cdn.jsdelivr.net/gh/yuban10703/BlogImgdata@master/img/image.7i164u9fsbw0.webp">
  
  
  
  <title>从0开始搭建一个色图Bot - Yuban10703's site</title>

  <style class="anchorjs"></style><link rel="stylesheet" href="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/bootstrap.min.css">



  <link rel="stylesheet" href="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/github-markdown.min.css">

  <link rel="stylesheet" href="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/hint.min.css">

  <link rel="stylesheet" href="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/jquery.fancybox.min.css">



<!-- 主题依赖的图标库，不要自行修改 -->
<!-- Do not modify the link that theme dependent icons -->

<link rel="stylesheet" href="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/font_1749284_hj8rtnfg7um.css">



<link rel="stylesheet" href="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/font_1736178_lbnruvf0jn.css">


<link rel="stylesheet" href="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/main.css">


  <link id="highlight-css" rel="stylesheet" href="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/highlight.css" disabled="">
  
    <link id="highlight-css-dark" rel="stylesheet" href="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/highlight-dark.css">
  




  <script id="fluid-configs">
    var Fluid = window.Fluid || {};
    Fluid.ctx = Object.assign({}, Fluid.ctx)
    var CONFIG = {"hostname":"2333.world","root":"/","version":"1.9.3","typing":{"enable":true,"typeSpeed":70,"cursorChar":"_","loop":false,"scope":[]},"anchorjs":{"enable":true,"element":"h1,h2,h3,h4,h5,h6","placement":"right","visible":"hover","icon":""},"progressbar":{"enable":true,"height_px":3,"color":"#29d","options":{"showSpinner":false,"trickleSpeed":100}},"code_language":{"enable":true,"default":"TEXT"},"copy_btn":true,"image_caption":{"enable":true},"image_zoom":{"enable":true,"img_url_replace":["",""]},"toc":{"enable":true,"placement":"right","headingSelector":"h1,h2,h3,h4,h5,h6","collapseDepth":0},"lazyload":{"enable":true,"loading_img":"/img/loading.gif","onlypost":false,"offset_factor":2},"web_analytics":{"enable":true,"follow_dnt":true,"baidu":"7aa19e2e98f74aeb349f2291d2074764","google":null,"gtag":null,"tencent":{"sid":null,"cid":null},"woyaola":null,"cnzz":null,"leancloud":{"app_id":null,"app_key":null,"server_url":null,"path":"window.location.pathname","ignore_local":false}},"search_path":"/local-search.xml"};

    if (CONFIG.web_analytics.follow_dnt) {
      var dntVal = navigator.doNotTrack || window.doNotTrack || navigator.msDoNotTrack;
      Fluid.ctx.dnt = dntVal && (dntVal.startsWith('1') || dntVal.startsWith('yes') || dntVal.startsWith('on'));
    }
  </script>
  <script src="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/utils.js.下载"></script>
  <script src="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/color-schema.js.下载"></script>
  

  
    <!-- Baidu Analytics -->
    <script async="">
      if (!Fluid.ctx.dnt) {
        var _hmt = _hmt || [];
        (function() {
          var hm = document.createElement("script");
          hm.src = "https://hm.baidu.com/hm.js?7aa19e2e98f74aeb349f2291d2074764";
          var s = document.getElementsByTagName("script")[0];
          s.parentNode.insertBefore(hm, s);
        })();
      }
    </script>
  

  

  

  

  

  

  



  
<meta name="generator" content="Hexo 6.3.0"><style type="text/css" id="vueuse_styletag_1">html[data-user-color-scheme="dark"]{--waline-white:#000;--waline-light-grey:#666;--waline-dark-grey:#999;--waline-color:#888;--waline-bgcolor:#1e1e1e;--waline-bgcolor-light:#272727;--waline-bgcolor-hover: #444;--waline-border-color:#333;--waline-disable-bgcolor:#444;--waline-disable-color:#272727;--waline-bq-color:#272727;--waline-info-bgcolor:#272727;--waline-info-color:#666}</style></head>


<body>
  

  <header>
    

<div class="header-inner" style="height: 70vh;">
  <nav id="navbar" class="navbar fixed-top navbar-expand-lg scrolling-navbar top-nav-collapse">
  <div class="container">
    <a class="navbar-brand" href="https://2333.world/index.html">
      <strong>Yuban10703's site</strong>
    </a>

    <button id="navbar-toggler-btn" class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
      <div class="animated-icon"><span></span><span></span><span></span></div>
    </button>

    <!-- Collapsible content -->
    <div class="collapse navbar-collapse" id="navbarSupportedContent">
      <ul class="navbar-nav ml-auto text-center">
        
          
          
          
          
            <li class="nav-item">
              <a class="nav-link" href="https://2333.world/index.html">
                <i class="iconfont icon-home-fill"></i>
                首页
              </a>
            </li>
          
        
          
          
          
          
            <li class="nav-item">
              <a class="nav-link" href="https://2333.world/archives/">
                <i class="iconfont icon-archive-fill"></i>
                归档
              </a>
            </li>
          
        
          
          
          
          
            <li class="nav-item">
              <a class="nav-link" href="https://2333.world/categories/">
                <i class="iconfont icon-category-fill"></i>
                分类
              </a>
            </li>
          
        
          
          
          
          
            <li class="nav-item">
              <a class="nav-link" href="https://2333.world/tags/">
                <i class="iconfont icon-tags-fill"></i>
                标签
              </a>
            </li>
          
        
          
          
          
          
            <li class="nav-item">
              <a class="nav-link" href="https://2333.world/about/">
                <i class="iconfont icon-user-fill"></i>
                关于
              </a>
            </li>
          
        
          
          
          
          
            <li class="nav-item">
              <a class="nav-link" href="https://2333.world/links/">
                <i class="iconfont icon-link-fill"></i>
                友链
              </a>
            </li>
          
        
        
          <li class="nav-item" id="search-btn">
            <a class="nav-link" target="_self" href="javascript:;" data-toggle="modal" data-target="#modalSearch" aria-label="Search">
              &nbsp;<i class="iconfont icon-search"></i>&nbsp;
            </a>
          </li>
          
        
        
          <li class="nav-item" id="color-toggle-btn">
            <a class="nav-link" target="_self" href="javascript:;" aria-label="Color Toggle">&nbsp;<i class="iconfont icon-dark" id="color-toggle-icon" data="light"></i>&nbsp;</a>
          </li>
        
      </ul>
    </div>
  </div>
</nav>

  

<div id="banner" class="banner" parallax="true" style="background: url(&quot;https://cdn.staticaly.com/gh/yuban10703/BlogImgdata@master/img/GlowWormBMNP.webp&quot;) center center / cover no-repeat; transform: translate3d(0px, 64px, 0px);">
  <div class="full-bg-img">
    <div class="mask flex-center" style="background-color: rgba(0, 0, 0, 0.3)">
      <div class="banner-text text-center fade-in-up">
        <div class="h2">
          
            <span id="subtitle" data-typed-text="从0开始搭建一个色图Bot">从0开始搭建一个色图Bot&nbsp;</span><span class="typed-cursor typed-cursor--blink" aria-hidden="true">_</span>
          
        </div>

        
          
  <div class="mt-3">
    
    
      <span class="post-meta">
        <i class="iconfont icon-date-fill" aria-hidden="true"></i>
        <time datetime="2022-02-13 21:59" pubdate="">
          2022年2月13日 晚上
        </time>
      </span>
    
  </div>

  <div class="mt-1">
    
      <span class="post-meta mr-2">
        <i class="iconfont icon-chart"></i>
        
          <!-- compatible with older versions-->
          2.9k 字
        
      </span>
    

    
      <span class="post-meta mr-2">
        <i class="iconfont icon-clock-fill"></i>
        
        
        
          <!-- compatible with older versions-->
          24 分钟
        
      </span>
    

    
    
  </div>


        
      </div>

      
    </div>
  </div>
</div>

</div>

  </header>

  <main>
    
      

<div class="container-fluid nopadding-x">
  <div class="row nomargin-x">
    <div class="side-col d-none d-lg-block col-lg-2" style="padding-top: 64px;">
      

    </div>

    <div class="col-lg-8 nopadding-x-md">
      <div class="container nopadding-x-md" id="board-ctn">
        <div id="board">
          <article class="post-content mx-auto">
            <!-- SEO header -->
            <h1 style="display: none">从0开始搭建一个色图Bot</h1>
            
            
              <div class="markdown-body">
                
                <blockquote>
<p>下面的操作全都是在的<strong>Ubuntu20.04_amd64</strong>上演示的</p>
</blockquote>
<h2 id="必要条件"><a href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E5%BF%85%E8%A6%81%E6%9D%A1%E4%BB%B6" class="headerlink" title="必要条件"></a>必要条件<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E5%BF%85%E8%A6%81%E6%9D%A1%E4%BB%B6" style="font: 1em / 1 anchorjs-icons; padding-left: 0.375em;"></a></h2><ol>
<li><p><a target="_blank" rel="noopener" href="https://github.com/opq-osc/OPQ/releases/latest/">OPQBot</a>本体</p>
</li>
<li><p>Python环境 (<strong>版本要&gt;=3.8</strong>)</p>
</li>
<li><p><strong>非</strong>Windows的机子 (Windows版本的OPQBot不能发图)</p>
</li>
<li><p>一个能上外网的代理,或者机子直接就能上外网</p>
</li>
<li><p>一个QQ小号(</p>
</li>
</ol>
<h2 id="准备工作"><a href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E5%87%86%E5%A4%87%E5%B7%A5%E4%BD%9C" class="headerlink" title="准备工作"></a>准备工作<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E5%87%86%E5%A4%87%E5%B7%A5%E4%BD%9C" style="font: 1em / 1 anchorjs-icons; padding-left: 0.375em;"></a></h2><h3 id="先把要用的软件包安装上"><a href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E5%85%88%E6%8A%8A%E8%A6%81%E7%94%A8%E7%9A%84%E8%BD%AF%E4%BB%B6%E5%8C%85%E5%AE%89%E8%A3%85%E4%B8%8A" class="headerlink" title="先把要用的软件包安装上"></a>先把要用的软件包安装上<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E5%85%88%E6%8A%8A%E8%A6%81%E7%94%A8%E7%9A%84%E8%BD%AF%E4%BB%B6%E5%8C%85%E5%AE%89%E8%A3%85%E4%B8%8A" style="font: 1em / 1 anchorjs-icons; padding-left: 0.375em;"></a></h3><blockquote>
<p>我这里已经安装过了,一般这步都不会有问题的(</p>
</blockquote>
<figure class="highlight ebnf"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs ebnf"><span class="hljs-attribute">apt update</span><br></code><div class="code-widget-dark code-widget copy-btn" data-clipboard-snippet=""><i class="iconfont icon-copy"></i>EBNF</div></pre></td></tr></tbody></table></figure>

<figure class="highlight cmake"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs cmake">apt <span class="hljs-keyword">install</span> wget git python3-pip<br></code><div class="code-widget-dark code-widget copy-btn" data-clipboard-snippet=""><i class="iconfont icon-copy"></i>CMAKE</div></pre></td></tr></tbody></table></figure>

<p><a class="fancybox fancybox.image" href="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/image.7i164u9fsbw0.webp" itemscope="" itemtype="http://schema.org/ImageObject" itemprop="url" data-fancybox="default" rel="default"><img src="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/image.7i164u9fsbw0.webp"></a></p>
<h3 id="然后下载OPQBot"><a href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E7%84%B6%E5%90%8E%E4%B8%8B%E8%BD%BDOPQBot" class="headerlink" title="然后下载OPQBot"></a>然后下载OPQBot<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E7%84%B6%E5%90%8E%E4%B8%8B%E8%BD%BDOPQBot" style="font: 1em / 1 anchorjs-icons; padding-left: 0.375em;"></a></h3><p><a class="fancybox fancybox.image" href="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/image.4qfzwtg4v8c0.webp" itemscope="" itemtype="http://schema.org/ImageObject" itemprop="url" data-fancybox="default" rel="default"><img src="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/image.4qfzwtg4v8c0.webp"></a></p>
<p>挑选合适版本的OPQBot,右键对应版本的蓝字,然后复制链接</p>
<figure class="highlight nginx"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs nginx"><span class="hljs-attribute">wget</span> 你复制的链接<br></code><div class="code-widget-dark code-widget copy-btn" data-clipboard-snippet=""><i class="iconfont icon-copy"></i>NGINX</div></pre></td></tr></tbody></table></figure>

<blockquote>
<p>例如</p>
<figure class="highlight awk"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs awk">wget https:<span class="hljs-regexp">//gi</span>thub.com<span class="hljs-regexp">/opq-osc/</span>OPQ<span class="hljs-regexp">/releases/</span>download<span class="hljs-regexp">/v6.7.5-Bate1224/</span>OPQBot_6.<span class="hljs-number">7.5</span>-Bate1224_linux_amd64.tar.gz<br></code><div class="code-widget-dark code-widget copy-btn" data-clipboard-snippet=""><i class="iconfont icon-copy"></i>AWK</div></pre></td></tr></tbody></table></figure>
</blockquote>
<p><a class="fancybox fancybox.image" href="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/image.22tslkjs2dpc.webp" itemscope="" itemtype="http://schema.org/ImageObject" itemprop="url" data-fancybox="default" rel="default"><img src="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/image.22tslkjs2dpc.webp"></a></p>
<h4 id="解压下载的压缩包"><a href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E8%A7%A3%E5%8E%8B%E4%B8%8B%E8%BD%BD%E7%9A%84%E5%8E%8B%E7%BC%A9%E5%8C%85" class="headerlink" title="解压下载的压缩包"></a>解压下载的压缩包<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E8%A7%A3%E5%8E%8B%E4%B8%8B%E8%BD%BD%E7%9A%84%E5%8E%8B%E7%BC%A9%E5%8C%85" style="font: 1em / 1 anchorjs-icons; padding-left: 0.375em;"></a></h4><figure class="highlight arcade"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs arcade">tar -zxvf OPQ    (这个时候可以按两下键盘上的<span class="hljs-literal">TAB</span>键,可以自动补全)<br></code><div class="code-widget-dark code-widget copy-btn" data-clipboard-snippet=""><i class="iconfont icon-copy"></i>ARCADE</div></pre></td></tr></tbody></table></figure>

<blockquote>
<p>例如</p>
<figure class="highlight apache"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs apache"><span class="hljs-attribute">tar</span> -zxvf OPQBot_6.<span class="hljs-number">7</span>.<span class="hljs-number">5</span>-Bate1224_linux_amd64.tar.gz<br></code><div class="code-widget-dark code-widget copy-btn" data-clipboard-snippet=""><i class="iconfont icon-copy"></i>APACHE</div></pre></td></tr></tbody></table></figure>
</blockquote>
<p>然后把压缩包删了</p>
<figure class="highlight apache"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs apache"><span class="hljs-attribute">rm</span> OPQBot_6.<span class="hljs-number">7</span>.<span class="hljs-number">5</span>-Bate1224_linux_amd64.tar.gz<br></code><div class="code-widget-dark code-widget copy-btn" data-clipboard-snippet=""><i class="iconfont icon-copy"></i>APACHE</div></pre></td></tr></tbody></table></figure>

<p>最后把解压出来的文件夹改个名(后续方便点)</p>
<figure class="highlight apache"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs apache"><span class="hljs-attribute">mv</span> OPQBot_6.<span class="hljs-number">7</span>.<span class="hljs-number">5</span>-Bate1224_linux_amd64 OPQBot<br></code><div class="code-widget-dark code-widget copy-btn" data-clipboard-snippet=""><i class="iconfont icon-copy"></i>APACHE</div></pre></td></tr></tbody></table></figure>

<p><a class="fancybox fancybox.image" href="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/image.3jmipehfs8i.webp" itemscope="" itemtype="http://schema.org/ImageObject" itemprop="url" data-fancybox="default" rel="default"><img src="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/image.3jmipehfs8i.webp"></a></p>
<h3 id="clone色图姬"><a href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#clone%E8%89%B2%E5%9B%BE%E5%A7%AC" class="headerlink" title="clone色图姬"></a>clone色图姬<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#clone%E8%89%B2%E5%9B%BE%E5%A7%AC" style="font: 1em / 1 anchorjs-icons; padding-left: 0.375em;"></a></h3><figure class="highlight awk"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs awk">git clone https:<span class="hljs-regexp">//gi</span>thub.com<span class="hljs-regexp">/yuban10703/</span>OPQ-SetuBot --depth=<span class="hljs-number">1</span><br></code><div class="code-widget-dark code-widget copy-btn" data-clipboard-snippet=""><i class="iconfont icon-copy"></i>AWK</div></pre></td></tr></tbody></table></figure>

<p><a class="fancybox fancybox.image" href="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/image.iox3a6ku8v4.webp" itemscope="" itemtype="http://schema.org/ImageObject" itemprop="url" data-fancybox="default" rel="default" title="image" data-caption="image"><img src="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/image.iox3a6ku8v4.webp" alt="image"></a><figcaption aria-hidden="true" class="image-caption">image</figcaption></p>
<p>到这里所有要用到的文件都已经下载好了</p>
<h3 id="登录OPQBot"><a href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E7%99%BB%E5%BD%95OPQBot" class="headerlink" title="登录OPQBot"></a>登录OPQBot<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E7%99%BB%E5%BD%95OPQBot" style="font: 1em / 1 anchorjs-icons; padding-left: 0.375em;"></a></h3><h4 id="获取token"><a href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E8%8E%B7%E5%8F%96token" class="headerlink" title="获取token"></a>获取token<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E8%8E%B7%E5%8F%96token" style="font: 1em / 1 anchorjs-icons; padding-left: 0.375em;"></a></h4><p>在启动OPQBot前需要一个Token</p>
<p>到这个页面登录授权后就可以拿到  –&gt;  <a target="_blank" rel="noopener" href="https://developer.gitter.im/apps">Gitter Developer Program</a></p>
<p><a class="fancybox fancybox.image" href="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/image.38z0y1c2x9q0.webp" itemscope="" itemtype="http://schema.org/ImageObject" itemprop="url" data-fancybox="default" rel="default"><img src="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/image.38z0y1c2x9q0.webp"></a></p>
<p>拿到token后要填到OPQBot的CoreConf.conf文件里</p>
<blockquote>
<p>这里要安装一个文本编辑器 (一般都是自带的)</p>
<figure class="highlight sas"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs sas">apt <span class="hljs-keyword">update</span> <span class="hljs-variable">&amp;&amp;</span> apt install nano<br></code><div class="code-widget-dark code-widget copy-btn" data-clipboard-snippet=""><i class="iconfont icon-copy"></i>SAS</div></pre></td></tr></tbody></table></figure>
</blockquote>
<p><a class="fancybox fancybox.image" href="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/image.2ynpv6hqknu0.webp" itemscope="" itemtype="http://schema.org/ImageObject" itemprop="url" data-fancybox="default" rel="default"><img src="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/image.2ynpv6hqknu0.webp"></a></p>
<p>然后进入OPQBot的文件夹</p>
<figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-built_in">cd</span> OPQBot<br></code><div class="code-widget-dark code-widget copy-btn" data-clipboard-snippet=""><i class="iconfont icon-copy"></i>BASH</div></pre></td></tr></tbody></table></figure>

<p>编辑<strong>CoreConf.conf</strong>文件</p>
<p><a class="fancybox fancybox.image" href="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/image.2hesymf51980.webp" itemscope="" itemtype="http://schema.org/ImageObject" itemprop="url" data-fancybox="default" rel="default"><img src="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/image.2hesymf51980.webp"></a></p>
<figure class="highlight nginx"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs nginx"><span class="hljs-attribute">nano</span> CoreConf.conf<br></code><div class="code-widget-dark code-widget copy-btn" data-clipboard-snippet=""><i class="iconfont icon-copy"></i>NGINX</div></pre></td></tr></tbody></table></figure>

<p>在下图中的位置填入上面从<a target="_blank" rel="noopener" href="https://developer.gitter.im/apps">Gitter Developer Program</a>复制的token</p>
<p><a class="fancybox fancybox.image" href="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/image.1zora1dq7dmo.webp" itemscope="" itemtype="http://schema.org/ImageObject" itemprop="url" data-fancybox="default" rel="default"><img src="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/image.1zora1dq7dmo.webp"></a></p>
<p><strong>保存方法: ctrl + x,然后输入Y,回车</strong></p>
<h4 id="启动OPQBot"><a href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E5%90%AF%E5%8A%A8OPQBot" class="headerlink" title="启动OPQBot"></a>启动OPQBot<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E5%90%AF%E5%8A%A8OPQBot" style="font: 1em / 1 anchorjs-icons; padding-left: 0.375em;"></a></h4><p>这里使用screen来保持进程</p>
<blockquote>
<p>安装screen</p>
<figure class="highlight sas"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs sas">apt <span class="hljs-keyword">update</span> <span class="hljs-variable">&amp;&amp;</span> apt install screen<br></code><div class="code-widget-dark code-widget copy-btn" data-clipboard-snippet=""><i class="iconfont icon-copy"></i>SAS</div></pre></td></tr></tbody></table></figure>
</blockquote>
<p><a class="fancybox fancybox.image" href="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/image.41x2js5tj3c0.webp" itemscope="" itemtype="http://schema.org/ImageObject" itemprop="url" data-fancybox="default" rel="default"><img src="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/image.41x2js5tj3c0.webp"></a></p>
<figure class="highlight gauss"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs gauss"><span class="hljs-keyword">screen</span> -R 随便起一个记得住的名字<br></code><div class="code-widget-dark code-widget copy-btn" data-clipboard-snippet=""><i class="iconfont icon-copy"></i>GAUSS</div></pre></td></tr></tbody></table></figure>

<blockquote>
<p>例如</p>
<figure class="highlight ebnf"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs ebnf"><span class="hljs-attribute">screen -R OPQBot</span><br></code><div class="code-widget-dark code-widget copy-btn" data-clipboard-snippet=""><i class="iconfont icon-copy"></i>EBNF</div></pre></td></tr></tbody></table></figure>
</blockquote>
<p>回车后会短暂的出现下面的页面,然后就进入了一个新的终端</p>
<p><a class="fancybox fancybox.image" href="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/image.2aexlwnavytc.webp" itemscope="" itemtype="http://schema.org/ImageObject" itemprop="url" data-fancybox="default" rel="default"><img src="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/image.2aexlwnavytc.webp"></a></p>
<p>然后输入</p>
<figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-built_in">cd</span> ~ &amp;&amp; <span class="hljs-built_in">cd</span> OPQBot<br></code><div class="code-widget-dark code-widget copy-btn" data-clipboard-snippet=""><i class="iconfont icon-copy"></i>BASH</div></pre></td></tr></tbody></table></figure>

<figure class="highlight jboss-cli"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs jboss-cli"><span class="hljs-string">./OPQBot</span><br></code><div class="code-widget-dark code-widget copy-btn" data-clipboard-snippet=""><i class="iconfont icon-copy"></i>JBOSS-CLI</div></pre></td></tr></tbody></table></figure>

<p><a class="fancybox fancybox.image" href="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/image.rfevjn8jjnk.webp" itemscope="" itemtype="http://schema.org/ImageObject" itemprop="url" data-fancybox="default" rel="default"><img src="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/image.rfevjn8jjnk.webp"></a></p>
<p>出现 <strong>Everything is ok!</strong> 后才算启动完成,然后再进行扫码登陆</p>
<h4 id="扫码登陆"><a href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E6%89%AB%E7%A0%81%E7%99%BB%E9%99%86" class="headerlink" title="扫码登陆"></a>扫码登陆<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E6%89%AB%E7%A0%81%E7%99%BB%E9%99%86" style="font: 1em / 1 anchorjs-icons; padding-left: 0.375em;"></a></h4><blockquote>
<p>然后确保防火墙里打开了OPQBot要用的端口,默认是8888,端口可以在<strong>CoreConf.conf</strong>里修改</p>
</blockquote>
<p>浏览器输入</p>
<p>IP就是你运行OPQBot的机子的IP</p>
<p>PORT如果没修改过的话就是8888  (可以去CoreConf.conf里查看)</p>
<figure class="highlight awk"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs awk">http:<span class="hljs-regexp">//</span>IP:PORT<span class="hljs-regexp">/v1/</span>Login/GetQRcode<br></code><div class="code-widget-dark code-widget copy-btn" data-clipboard-snippet=""><i class="iconfont icon-copy"></i>AWK</div></pre></td></tr></tbody></table></figure>

<blockquote>
<p>例如</p>
<figure class="highlight awk"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs awk">http:<span class="hljs-regexp">//</span><span class="hljs-number">192.168</span>.<span class="hljs-number">1.123</span>:<span class="hljs-number">8888</span><span class="hljs-regexp">/v1/</span>Login/GetQRcode<br></code><div class="code-widget-dark code-widget copy-btn" data-clipboard-snippet=""><i class="iconfont icon-copy"></i>AWK</div></pre></td></tr></tbody></table></figure>
</blockquote>
<p>然后用手机扫码登录 <strong>(第一次登录会将token绑定QQ,后续如果要换QQ的话需要换绑)</strong></p>
<p>回到终端查看是否登录成功, 如果成功了就按 <strong>ctrl+a+d</strong> 来暂时离开当前会话</p>
<blockquote>
<p>如果后续要查看OPQBot的状态,或者要关闭重启OPQBot,可以再次通过下面的命令进入</p>
<figure class="highlight gauss"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs gauss"><span class="hljs-keyword">screen</span> -R 你之前起的名字<br></code><div class="code-widget-dark code-widget copy-btn" data-clipboard-snippet=""><i class="iconfont icon-copy"></i>GAUSS</div></pre></td></tr></tbody></table></figure>

<p>如果忘记名字了可以通过 <strong>screen -ls</strong>来查看有哪些会话</p>
<p>可以到这个网站学习下使用screen <a target="_blank" rel="noopener" href="https://www.runoob.com/linux/linux-comm-screen.html">Linux screen命令 | 菜鸟教程</a></p>
</blockquote>
<h2 id="启动SetuBot"><a href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E5%90%AF%E5%8A%A8SetuBot" class="headerlink" title="启动SetuBot"></a>启动SetuBot<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E5%90%AF%E5%8A%A8SetuBot" style="font: 1em / 1 anchorjs-icons; padding-left: 0.375em;"></a></h2><p>到这步,OPQBot应该已经登录上,并且通过screen挂在后台了</p>
<h3 id="安装依赖模块"><a href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E5%AE%89%E8%A3%85%E4%BE%9D%E8%B5%96%E6%A8%A1%E5%9D%97" class="headerlink" title="安装依赖模块"></a>安装依赖模块<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E5%AE%89%E8%A3%85%E4%BE%9D%E8%B5%96%E6%A8%A1%E5%9D%97" style="font: 1em / 1 anchorjs-icons; padding-left: 0.375em;"></a></h3><p>先把色图姬要用到的Python库全装上</p>
<figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-built_in">cd</span> ~ &amp;&amp; <span class="hljs-built_in">cd</span> OPQ-SetuBot<br></code><div class="code-widget-dark code-widget copy-btn" data-clipboard-snippet=""><i class="iconfont icon-copy"></i>BASH</div></pre></td></tr></tbody></table></figure>

<figure class="highlight stylus"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs stylus">pip3 install -r requirements<span class="hljs-selector-class">.txt</span> -<span class="hljs-selector-tag">i</span> https:<span class="hljs-comment">//pypi.tuna.tsinghua.edu.cn/simple</span><br></code><div class="code-widget-dark code-widget copy-btn" data-clipboard-snippet=""><i class="iconfont icon-copy"></i>STYLUS</div></pre></td></tr></tbody></table></figure>

<p><a class="fancybox fancybox.image" href="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/image.2zjf9e2zfx60.webp" itemscope="" itemtype="http://schema.org/ImageObject" itemprop="url" data-fancybox="default" rel="default" title="image" data-caption="image"><img src="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/image.2zjf9e2zfx60.webp" alt="image"></a><figcaption aria-hidden="true" class="image-caption">image</figcaption></p>
<h3 id="填写botoy-json"><a href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E5%A1%AB%E5%86%99botoy-json" class="headerlink" title="填写botoy.json"></a>填写botoy.json<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E5%A1%AB%E5%86%99botoy-json" style="font: 1em / 1 anchorjs-icons; padding-left: 0.375em;"></a></h3><h4 id="setu-refresh-token"><a href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#setu-refresh-token" class="headerlink" title="setu.refresh_token"></a>setu.refresh_token<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#setu-refresh-token" style="font: 1em / 1 anchorjs-icons; padding-left: 0.375em;"></a></h4><p>最麻烦的应该就是这个了, 需要获取Pixiv的refresh_token</p>
<p>这里使用docker来获取这个token</p>
<h5 id="安装docker"><a href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E5%AE%89%E8%A3%85docker" class="headerlink" title="安装docker"></a>安装docker<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E5%AE%89%E8%A3%85docker" style="font: 1em / 1 anchorjs-icons; padding-left: 0.375em;"></a></h5><figure class="highlight dsconfig"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><code class="hljs dsconfig"><span class="hljs-string">curl</span> -<span class="hljs-string">fsSL</span> <span class="hljs-string">https</span>://<span class="hljs-string">get</span>.<span class="hljs-string">docker</span>.<span class="hljs-string">com</span> -<span class="hljs-string">o</span> <span class="hljs-built_in">get-docker.sh</span><br><span class="hljs-string">sh</span> ./<span class="hljs-built_in">get-docker.sh</span><br></code><div class="code-widget-dark code-widget copy-btn" data-clipboard-snippet=""><i class="iconfont icon-copy"></i>DSCONFIG</div></pre></td></tr></tbody></table></figure>

<p><a class="fancybox fancybox.image" href="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/image.4gkfzghun8g0.webp" itemscope="" itemtype="http://schema.org/ImageObject" itemprop="url" data-fancybox="default" rel="default" title="image" data-caption="image"><img src="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/image.4gkfzghun8g0.webp" alt="image"></a><figcaption aria-hidden="true" class="image-caption">image</figcaption></p>
<h5 id="获取refresh-token"><a href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E8%8E%B7%E5%8F%96refresh-token" class="headerlink" title="获取refresh_token"></a>获取refresh_token<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E8%8E%B7%E5%8F%96refresh-token" style="font: 1em / 1 anchorjs-icons; padding-left: 0.375em;"></a></h5><figure class="highlight dockerfile"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs dockerfile">docker <span class="hljs-keyword">run</span><span class="language-bash"> --<span class="hljs-built_in">rm</span> -it eggplanter/gppt lh -u &lt;pixiv账号&gt; -p &lt;你的密码&gt;</span><br></code><div class="code-widget-dark code-widget copy-btn" data-clipboard-snippet=""><i class="iconfont icon-copy"></i>DOCKERFILE</div></pre></td></tr></tbody></table></figure>

<blockquote>
<p>例如</p>
<p>账号为114514</p>
<p>密码为1919810</p>
<figure class="highlight dockerfile"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs dockerfile">docker <span class="hljs-keyword">run</span><span class="language-bash"> --<span class="hljs-built_in">rm</span> -it eggplanter/gppt lh -u 114514 -p 1919810</span><br></code><div class="code-widget-dark code-widget copy-btn" data-clipboard-snippet=""><i class="iconfont icon-copy"></i>DOCKERFILE</div></pre></td></tr></tbody></table></figure>
</blockquote>
<p><a class="fancybox fancybox.image" href="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/image.358ivnz9rhq0.webp" itemscope="" itemtype="http://schema.org/ImageObject" itemprop="url" data-fancybox="default" rel="default" title="image" data-caption="image"><img src="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/image.358ivnz9rhq0.webp" alt="image"></a><figcaption aria-hidden="true" class="image-caption">image</figcaption></p>
<p>不出意外的话输出应该和我一样(</p>
<p>需要的是<strong>refresh_token</strong> (绿色线划出来的部分)</p>
<h5 id="保存配置"><a href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E4%BF%9D%E5%AD%98%E9%85%8D%E7%BD%AE" class="headerlink" title="保存配置"></a>保存配置<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E4%BF%9D%E5%AD%98%E9%85%8D%E7%BD%AE" style="font: 1em / 1 anchorjs-icons; padding-left: 0.375em;"></a></h5><blockquote>
<p>然后把它填到 <strong>OPQ-SetuBot/botoy.json</strong> 里</p>
</blockquote>
<figure class="highlight arcade"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs arcade">nano ~<span class="hljs-regexp">/OPQ-SetuBot/</span>botoy.json<br></code><div class="code-widget-dark code-widget copy-btn" data-clipboard-snippet=""><i class="iconfont icon-copy"></i>ARCADE</div></pre></td></tr></tbody></table></figure>

<p><a class="fancybox fancybox.image" href="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/image.4h6hzyw7eh00.webp" itemscope="" itemtype="http://schema.org/ImageObject" itemprop="url" data-fancybox="default" rel="default" title="image" data-caption="image"><img src="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/image.4h6hzyw7eh00.webp" alt="image"></a><figcaption aria-hidden="true" class="image-caption">image</figcaption></p>
<p>保存方法同上</p>
<blockquote>
<p>ctrl + x,然后输入Y,回车</p>
</blockquote>
<h4 id="searchPicture-apiKey"><a href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#searchPicture-apiKey" class="headerlink" title="searchPicture.apiKey"></a>searchPicture.apiKey<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#searchPicture-apiKey" style="font: 1em / 1 anchorjs-icons; padding-left: 0.375em;"></a></h4><p>这个文件需要获取saucenao的apikey,只需要注册个账号就可以拿到</p>
<p>在这里注册登录</p>
<p><a target="_blank" rel="noopener" href="https://saucenao.com/user.php">SauceNAO User Login</a></p>
<p><a class="fancybox fancybox.image" href="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/image.4b3m4d9u9l40.webp" itemscope="" itemtype="http://schema.org/ImageObject" itemprop="url" data-fancybox="default" rel="default" title="image" data-caption="image"><img src="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/image.4b3m4d9u9l40.webp" alt="image"></a><figcaption aria-hidden="true" class="image-caption">image</figcaption></p>
<p>然后访问这个</p>
<p>绿色线部分就是apikey</p>
<p><a target="_blank" rel="noopener" href="https://saucenao.com/user.php?page=search-api">SauceNAO User Config</a></p>
<p><a class="fancybox fancybox.image" href="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/image.6sryc3x5rok0.webp" itemscope="" itemtype="http://schema.org/ImageObject" itemprop="url" data-fancybox="default" rel="default" title="image" data-caption="image"><img src="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/image.6sryc3x5rok0.webp" alt="image"></a><figcaption aria-hidden="true" class="image-caption">image</figcaption></p>
<h5 id="保存配置-1"><a href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E4%BF%9D%E5%AD%98%E9%85%8D%E7%BD%AE-1" class="headerlink" title="保存配置"></a>保存配置<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E4%BF%9D%E5%AD%98%E9%85%8D%E7%BD%AE-1" style="font: 1em / 1 anchorjs-icons; padding-left: 0.375em;"></a></h5><blockquote>
<p>同上</p>
</blockquote>
<figure class="highlight arcade"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs arcade">nano ~<span class="hljs-regexp">/OPQ-SetuBot/</span>botoy.json<br></code><div class="code-widget-dark code-widget copy-btn" data-clipboard-snippet=""><i class="iconfont icon-copy"></i>ARCADE</div></pre></td></tr></tbody></table></figure>

<p><a class="fancybox fancybox.image" href="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/image.7jklsx768xs0.webp" itemscope="" itemtype="http://schema.org/ImageObject" itemprop="url" data-fancybox="default" rel="default" title="image" data-caption="image"><img src="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/image.7jklsx768xs0.webp" alt="image"></a><figcaption aria-hidden="true" class="image-caption">image</figcaption></p>
<p>保存方法和之前一样</p>
<h4 id="其他配置项"><a href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E5%85%B6%E4%BB%96%E9%85%8D%E7%BD%AE%E9%A1%B9" class="headerlink" title="其他配置项"></a>其他配置项<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E5%85%B6%E4%BB%96%E9%85%8D%E7%BD%AE%E9%A1%B9" style="font: 1em / 1 anchorjs-icons; padding-left: 0.375em;"></a></h4><table>
<thead>
<tr>
<th>字段名</th>
<th>说明</th>
</tr>
</thead>
<tbody><tr>
<td>host</td>
<td>OPQ的IP,本机运行就 <a target="_blank" rel="noopener" href="http://127.0.0.1/">http://127.0.0.1</a></td>
</tr>
<tr>
<td>port</td>
<td>OPQ的端口,没修改过就是8888</td>
</tr>
<tr>
<td>superAdmin</td>
<td>你的qq</td>
</tr>
<tr>
<td>proxies_http</td>
<td>http代理 例子:  {“all://“: “<a href="http://127.0.0.1:8030&quot;}/">http://127.0.0.1:8030"}</a></td>
</tr>
<tr>
<td>proxies_socks</td>
<td>socks代理 例子:  “socks5://username:<a href="mailto:password@127.0.0.1">password@127.0.0.1</a>:8888”</td>
</tr>
</tbody></table>
<h3 id="运行色图姬插件"><a href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E8%BF%90%E8%A1%8C%E8%89%B2%E5%9B%BE%E5%A7%AC%E6%8F%92%E4%BB%B6" class="headerlink" title="运行色图姬插件"></a>运行色图姬插件<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E8%BF%90%E8%A1%8C%E8%89%B2%E5%9B%BE%E5%A7%AC%E6%8F%92%E4%BB%B6" style="font: 1em / 1 anchorjs-icons; padding-left: 0.375em;"></a></h3><blockquote>
<p>色图姬插件也需要保持后台运行</p>
<p>这里和运行OPQBot一样都使用screen</p>
</blockquote>
<p>开启一个新的会话</p>
<figure class="highlight gauss"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs gauss"><span class="hljs-keyword">screen</span> -R 随便起一个记得住的名字<br></code><div class="code-widget-dark code-widget copy-btn" data-clipboard-snippet=""><i class="iconfont icon-copy"></i>GAUSS</div></pre></td></tr></tbody></table></figure>

<blockquote>
<p>例如</p>
<figure class="highlight ebnf"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs ebnf"><span class="hljs-attribute">screen -R setu</span><br></code><div class="code-widget-dark code-widget copy-btn" data-clipboard-snippet=""><i class="iconfont icon-copy"></i>EBNF</div></pre></td></tr></tbody></table></figure>
</blockquote>
<p>进入目录</p>
<figure class="highlight arcade"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs arcade">cd ~<span class="hljs-regexp">/OPQ-SetuBot/</span><br></code><div class="code-widget-dark code-widget copy-btn" data-clipboard-snippet=""><i class="iconfont icon-copy"></i>ARCADE</div></pre></td></tr></tbody></table></figure>

<p>运行插件</p>
<figure class="highlight vim"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs vim"><span class="hljs-keyword">python3</span> bot.<span class="hljs-keyword">py</span><br></code><div class="code-widget-dark code-widget copy-btn" data-clipboard-snippet=""><i class="iconfont icon-copy"></i>VIM</div></pre></td></tr></tbody></table></figure>

<p><a class="fancybox fancybox.image" href="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/image.2wmk5fmkyvc0.webp" itemscope="" itemtype="http://schema.org/ImageObject" itemprop="url" data-fancybox="default" rel="default" title="image" data-caption="image"><img src="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/image.2wmk5fmkyvc0.webp" alt="image"></a><figcaption aria-hidden="true" class="image-caption">image</figcaption></p>
<p>这个时候如果机器人没有风控的话就可以正常使用了 (<strong>风控:色图插件日志正常,但是bot没有反应</strong>)</p>
<p>最后还要生成一下setu插件的配置文件 <a target="_blank" rel="noopener" href="https://github.com/opq-osc/OPQ-SetuBot/wiki/%E7%94%9F%E6%88%90setu%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6">生成setu配置文件 </a></p>
<p>然后<strong>ctrl + a +d</strong> 就可以暂时离开当前会话并断开ssh了</p>
<h1 id="未完待续"><a href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E6%9C%AA%E5%AE%8C%E5%BE%85%E7%BB%AD" class="headerlink" title="未完待续~"></a>未完待续~<a class="anchorjs-link " aria-label="Anchor" data-anchorjs-icon="" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E6%9C%AA%E5%AE%8C%E5%BE%85%E7%BB%AD" style="font: 1em / 1 anchorjs-icons; padding-left: 0.375em;"></a></h1>
                
              </div>
            
            <hr>
            <div>
              <div class="post-metas my-3">
  
    <div class="post-meta mr-3 d-flex align-items-center">
      <i class="iconfont icon-category"></i>
      

<span class="category-chains">
  
  
    
      <span class="category-chain">
        
  <a href="https://2333.world/categories/%E7%9E%8E%E6%8A%98%E8%85%BE/" class="category-chain-item">瞎折腾</a>
  
  

      </span>
    
  
</span>

    </div>
  
  
    <div class="post-meta">
      <i class="iconfont icon-tags"></i>
      
        <a href="https://2333.world/tags/python/">#python</a>
      
        <a href="https://2333.world/tags/OPQBot/">#OPQBot</a>
      
        <a href="https://2333.world/tags/QQ/">#QQ</a>
      
        <a href="https://2333.world/tags/%E8%89%B2%E5%9B%BE/">#色图</a>
      
        <a href="https://2333.world/tags/setu/">#setu</a>
      
        <a href="https://2333.world/tags/%E6%9C%BA%E5%99%A8%E4%BA%BA/">#机器人</a>
      
    </div>
  
</div>


              
  

  <div class="license-box my-3">
    <div class="license-title">
      <div>从0开始搭建一个色图Bot</div>
      <div>https://2333.world/_posts/2022_02_13/从0开始搭建一个色图Bot/</div>
    </div>
    <div class="license-meta">
      
        <div class="license-meta-item">
          <div>作者</div>
          <div>Yuban10703</div>
        </div>
      
      
        <div class="license-meta-item license-meta-date">
          <div>发布于</div>
          <div>2022年2月13日</div>
        </div>
      
      
      
        <div class="license-meta-item">
          <div>许可协议</div>
          <div>
            
              
              
                <a target="_blank" href="https://creativecommons.org/licenses/by/4.0/">
                  <span class="hint--top hint--rounded" aria-label="BY - 署名">
                    <i class="iconfont icon-by"></i>
                  </span>
                </a>
              
            
          </div>
        </div>
      
    </div>
    <div class="license-icon iconfont"></div>
  </div>



              
                <div class="post-prevnext my-3">
                  <article class="post-prev col-6">
                    
                    
                      <a href="https://2333.world/_posts/2022_02_24/Linksys-MR7350-%E5%9B%BA%E5%AE%9A%E5%90%AF%E5%8A%A8%E5%88%86%E5%8C%BA/" title="Linksys MR7350 固定启动分区">
                        <i class="iconfont icon-arrowleft"></i>
                        <span class="hidden-mobile">Linksys MR7350 固定启动分区</span>
                        <span class="visible-mobile">上一篇</span>
                      </a>
                    
                  </article>
                  <article class="post-next col-6">
                    
                    
                      <a href="https://2333.world/_posts/2022_01_13/python-pilpillow-%E7%94%9F%E6%88%90%E7%80%91%E5%B8%83%E6%B5%81%E5%9B%BE%E7%89%87/" title="Python PIL(pillow) 生成瀑布流图片">
                        <span class="hidden-mobile">Python PIL(pillow) 生成瀑布流图片</span>
                        <span class="visible-mobile">下一篇</span>
                        <i class="iconfont icon-arrowright"></i>
                      </a>
                    
                  </article>
                </div>
              
            </div>

            
  <article id="comments">
    
  <div id="waline" data-v-app=""><div data-waline="" avatar="retro" avatarcdn="https://seccdn.libravatar.org/avatar/" avatarforce="false" highlight="true"><div class="wl-comment"><!--v-if--><div class="wl-panel"><div class="wl-header item3"><div class="wl-header-item"><label for="nick">昵称</label><input id="wl-nick" class="wl-input wl-nick" name="nick" type="text"></div><div class="wl-header-item"><label for="mail">邮箱</label><input id="wl-mail" class="wl-input wl-mail" name="mail" type="email"></div><div class="wl-header-item"><label for="link">网址(可选)</label><input id="wl-link" class="wl-input wl-link" name="link" type="text"></div></div><textarea class="wl-editor" id="wl-edit" placeholder="欢迎评论"></textarea><div class="wl-preview" style="display: none;"><hr><h4>预览:</h4><div class="wl-content"></div></div><div class="wl-footer"><div class="wl-actions"><a href="https://guides.github.com/features/mastering-markdown/" title="Markdown Guide" aria-label="Markdown is supported" class="wl-action" target="_blank" rel="noreferrer"><svg width="16" height="16" ariaHidden="true"><path d="M14.85 3H1.15C.52 3 0 3.52 0 4.15v7.69C0 12.48.52 13 1.15 13h13.69c.64 0 1.15-.52 1.15-1.15v-7.7C16 3.52 15.48 3 14.85 3zM9 11H7V8L5.5 9.92 4 8v3H2V5h2l1.5 2L7 5h2v6zm2.99.5L9.5 8H11V5h2v3h1.5l-2.51 3.5z" fill="currentColor"></path></svg></a><button class="wl-action" title="表情" style=""><svg viewBox="0 0 1024 1024" width="24" height="24"><path d="M563.2 463.3 677 540c1.7 1.2 3.7 1.8 5.8 1.8.7 0 1.4-.1 2-.2 2.7-.5 5.1-2.1 6.6-4.4l25.3-37.8c1.5-2.3 2.1-5.1 1.6-7.8s-2.1-5.1-4.4-6.6l-73.6-49.1 73.6-49.1c2.3-1.5 3.9-3.9 4.4-6.6.5-2.7 0-5.5-1.6-7.8l-25.3-37.8a10.1 10.1 0 0 0-6.6-4.4c-.7-.1-1.3-.2-2-.2-2.1 0-4.1.6-5.8 1.8l-113.8 76.6c-9.2 6.2-14.7 16.4-14.7 27.5.1 11 5.5 21.3 14.7 27.4zM387 348.8h-45.5c-5.7 0-10.4 4.7-10.4 10.4v153.3c0 5.7 4.7 10.4 10.4 10.4H387c5.7 0 10.4-4.7 10.4-10.4V359.2c0-5.7-4.7-10.4-10.4-10.4zm333.8 241.3-41-20a10.3 10.3 0 0 0-8.1-.5c-2.6.9-4.8 2.9-5.9 5.4-30.1 64.9-93.1 109.1-164.4 115.2-5.7.5-9.9 5.5-9.5 11.2l3.9 45.5c.5 5.3 5 9.5 10.3 9.5h.9c94.8-8 178.5-66.5 218.6-152.7 2.4-5 .3-11.2-4.8-13.6zm186-186.1c-11.9-42-30.5-81.4-55.2-117.1-24.1-34.9-53.5-65.6-87.5-91.2-33.9-25.6-71.5-45.5-111.6-59.2-41.2-14-84.1-21.1-127.8-21.1h-1.2c-75.4 0-148.8 21.4-212.5 61.7-63.7 40.3-114.3 97.6-146.5 165.8-32.2 68.1-44.3 143.6-35.1 218.4 9.3 74.8 39.4 145 87.3 203.3.1.2.3.3.4.5l36.2 38.4c1.1 1.2 2.5 2.1 3.9 2.6 73.3 66.7 168.2 103.5 267.5 103.5 73.3 0 145.2-20.3 207.7-58.7 37.3-22.9 70.3-51.5 98.1-85 27.1-32.7 48.7-69.5 64.2-109.1 15.5-39.7 24.4-81.3 26.6-123.8 2.4-43.6-2.5-87-14.5-129zm-60.5 181.1c-8.3 37-22.8 72-43 104-19.7 31.1-44.3 58.6-73.1 81.7-28.8 23.1-61 41-95.7 53.4-35.6 12.7-72.9 19.1-110.9 19.1-82.6 0-161.7-30.6-222.8-86.2l-34.1-35.8c-23.9-29.3-42.4-62.2-55.1-97.7-12.4-34.7-18.8-71-19.2-107.9-.4-36.9 5.4-73.3 17.1-108.2 12-35.8 30-69.2 53.4-99.1 31.7-40.4 71.1-72 117.2-94.1 44.5-21.3 94-32.6 143.4-32.6 49.3 0 97 10.8 141.8 32 34.3 16.3 65.3 38.1 92 64.8 26.1 26 47.5 56 63.6 89.2 16.2 33.2 26.6 68.5 31 105.1 4.6 37.5 2.7 75.3-5.6 112.3z" fill="currentColor"></path></svg></button><button class="wl-action" title="表情包"><svg width="24" height="24" fill="currentcolor" viewBox="0 0 24 24"><path d="M18.968 10.5H15.968V11.484H17.984V12.984H15.968V15H14.468V9H18.968V10.5V10.5ZM8.984 9C9.26533 9 9.49967 9.09367 9.687 9.281C9.87433 9.46833 9.968 9.70267 9.968 9.984V10.5H6.499V13.5H8.468V12H9.968V14.016C9.968 14.2973 9.87433 14.5317 9.687 14.719C9.49967 14.9063 9.26533 15 8.984 15H5.984C5.70267 15 5.46833 14.9063 5.281 14.719C5.09367 14.5317 5 14.2973 5 14.016V9.985C5 9.70367 5.09367 9.46933 5.281 9.282C5.46833 9.09467 5.70267 9.001 5.984 9.001H8.984V9ZM11.468 9H12.968V15H11.468V9V9Z" style="transform: translateY(0.5px);"></path><path d="M18.5 3H5.75C3.6875 3 2 4.6875 2 6.75V18C2 20.0625 3.6875 21.75 5.75 21.75H18.5C20.5625 21.75 22.25 20.0625 22.25 18V6.75C22.25 4.6875 20.5625 3 18.5 3ZM20.75 18C20.75 19.2375 19.7375 20.25 18.5 20.25H5.75C4.5125 20.25 3.5 19.2375 3.5 18V6.75C3.5 5.5125 4.5125 4.5 5.75 4.5H18.5C19.7375 4.5 20.75 5.5125 20.75 6.75V18Z"></path></svg></button><input class="upload" id="wl-image-upload" type="file" accept=".png,.jpg,.jpeg,.webp,.bmp,.gif"><label for="wl-image-upload" class="wl-action" title="上传图片"><svg viewBox="0 0 1024 1024" width="24" height="24"><path d="M784 112H240c-88 0-160 72-160 160v480c0 88 72 160 160 160h544c88 0 160-72 160-160V272c0-88-72-160-160-160zm96 640c0 52.8-43.2 96-96 96H240c-52.8 0-96-43.2-96-96V272c0-52.8 43.2-96 96-96h544c52.8 0 96 43.2 96 96v480z" fill="currentColor"></path><path d="M352 480c52.8 0 96-43.2 96-96s-43.2-96-96-96-96 43.2-96 96 43.2 96 96 96zm0-128c17.6 0 32 14.4 32 32s-14.4 32-32 32-32-14.4-32-32 14.4-32 32-32zm462.4 379.2-3.2-3.2-177.6-177.6c-25.6-25.6-65.6-25.6-91.2 0l-80 80-36.8-36.8c-25.6-25.6-65.6-25.6-91.2 0L200 728c-4.8 6.4-8 14.4-8 24 0 17.6 14.4 32 32 32 9.6 0 16-3.2 22.4-9.6L380.8 640l134.4 134.4c6.4 6.4 14.4 9.6 24 9.6 17.6 0 32-14.4 32-32 0-9.6-4.8-17.6-9.6-24l-52.8-52.8 80-80L769.6 776c6.4 4.8 12.8 8 20.8 8 17.6 0 32-14.4 32-32 0-8-3.2-16-8-20.8z" fill="currentColor"></path></svg></label><button class="wl-action" title="预览"><svg viewBox="0 0 1024 1024" width="24" height="24"><path d="M710.816 654.301c70.323-96.639 61.084-230.578-23.705-314.843-46.098-46.098-107.183-71.109-172.28-71.109-65.008 0-126.092 25.444-172.28 71.109-45.227 46.098-70.756 107.183-70.756 172.106 0 64.923 25.444 126.007 71.194 172.106 46.099 46.098 107.184 71.109 172.28 71.109 51.414 0 100.648-16.212 142.824-47.404l126.53 126.006c7.058 7.06 16.297 10.979 26.406 10.979 10.105 0 19.343-3.919 26.402-10.979 14.467-14.467 14.467-38.172 0-52.723L710.816 654.301zm-315.107-23.265c-65.88-65.88-65.88-172.54 0-238.42 32.069-32.07 74.245-49.149 119.471-49.149 45.227 0 87.407 17.603 119.472 49.149 65.88 65.879 65.88 172.539 0 238.42-63.612 63.178-175.242 63.178-238.943 0zm0 0" fill="currentColor"></path><path d="M703.319 121.603H321.03c-109.8 0-199.469 89.146-199.469 199.38v382.034c0 109.796 89.236 199.38 199.469 199.38h207.397c20.653 0 37.384-16.645 37.384-37.299 0-20.649-16.731-37.296-37.384-37.296H321.03c-68.582 0-124.352-55.77-124.352-124.267V321.421c0-68.496 55.77-124.267 124.352-124.267h382.289c68.582 0 124.352 55.771 124.352 124.267V524.72c0 20.654 16.736 37.299 37.385 37.299 20.654 0 37.384-16.645 37.384-37.299V320.549c-.085-109.8-89.321-198.946-199.121-198.946zm0 0" fill="currentColor"></path></svg></button></div><div class="wl-info"><div class="wl-text-number">0 <span> &nbsp;/&nbsp; <span class="">300</span></span> &nbsp;字</div><button class="wl-btn">登录</button><button class="wl-btn primary" title="Cmd|Ctrl + Enter">提交</button></div><div class="wl-gif-popup"><input type="text" placeholder="搜索表情包"><div class="wl-gallery" style="gap: 6px;"><div class="wl-gallery-column" data-index="0" style="gap: 6px;"></div><div class="wl-gallery-column" data-index="1" style="gap: 6px;"></div><div class="wl-gallery-column" data-index="2" style="gap: 6px;"></div></div><div class="wl-loading"><svg width="30" height="30" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid"><circle cx="50" cy="50" fill="none" stroke="currentColor" strokeWidth="4" r="40" stroke-dasharray="85 30"><animatetransform attributeName="transform" type="rotate" repeatCount="indefinite" dur="1s" values="0 50 50;360 50 50" keyTimes="0;1"></animatetransform></circle></svg></div></div><div class="wl-emoji-popup"><div class="wl-tab-wrapper"><button title="weibo_smile"><!--v-if--></button><button title="weibo_lovely"><!--v-if--></button><button title="weibo_blush"><!--v-if--></button><button title="weibo_grin"><!--v-if--></button><button title="weibo_laugh"><!--v-if--></button><button title="weibo_joy"><!--v-if--></button><button title="weibo_angry"><!--v-if--></button><button title="weibo_bye"><!--v-if--></button><button title="weibo_hammer"><!--v-if--></button><button title="weibo_kiss"><!--v-if--></button><button title="weibo_love"><!--v-if--></button><button title="weibo_mask"><!--v-if--></button><button title="weibo_money"><!--v-if--></button><button title="weibo_quiet"><!--v-if--></button><button title="weibo_rage"><!--v-if--></button><button title="weibo_sad"><!--v-if--></button><button title="weibo_shy"><!--v-if--></button><button title="weibo_sick"><!--v-if--></button><button title="weibo_slient"><!--v-if--></button><button title="weibo_smirk"><!--v-if--></button><button title="weibo_slap"><!--v-if--></button><button title="weibo_antic"><!--v-if--></button><button title="weibo_desire"><!--v-if--></button><button title="weibo_longing"><!--v-if--></button><button title="weibo_no_idea"><!--v-if--></button><button title="weibo_look_down"><!--v-if--></button><button title="weibo_clap"><!--v-if--></button><button title="weibo_yum"><!--v-if--></button><button title="weibo_sleep"><!--v-if--></button><button title="weibo_dizzy_face"><!--v-if--></button><button title="weibo_chuckle"><!--v-if--></button><button title="weibo_disappointed"><!--v-if--></button><button title="weibo_flushed"><!--v-if--></button><button title="weibo_heart_eyes"><!--v-if--></button><button title="weibo_no"><!--v-if--></button><button title="weibo_shuai"><!--v-if--></button><button title="weibo_suprised"><!--v-if--></button><button title="weibo_think"><!--v-if--></button><button title="weibo_vomit"><!--v-if--></button><button title="weibo_scream"><!--v-if--></button><button title="weibo_sleepy"><!--v-if--></button><button title="weibo_sob"><!--v-if--></button><button title="weibo_sunglasses"><!--v-if--></button><button title="weibo_greddy"><!--v-if--></button><button title="weibo_pick_nose"><!--v-if--></button><button title="weibo_annoyed"><!--v-if--></button><button title="weibo_awkward"><!--v-if--></button><button title="weibo_confused"><!--v-if--></button><button title="weibo_grievance"><!--v-if--></button><button title="weibo_poor"><!--v-if--></button><button title="weibo_wink"><!--v-if--></button><button title="weibo_rolling_eyes"><!--v-if--></button><button title="weibo_watermalon"><!--v-if--></button><button title="weibo_annoyed_left"><!--v-if--></button><button title="weibo_annoyed_right"><!--v-if--></button><button title="weibo_yawn"><!--v-if--></button><button title="weibo_hufen"><!--v-if--></button><button title="weibo_doge"><!--v-if--></button><button title="weibo_husky"><!--v-if--></button><button title="weibo_dog_annoyed"><!--v-if--></button><button title="weibo_dog_bye"><!--v-if--></button><button title="weibo_dog_consider"><!--v-if--></button><button title="weibo_dog_cry"><!--v-if--></button><button title="weibo_dog_joy"><!--v-if--></button><button title="weibo_dog_laugh"><!--v-if--></button><button title="weibo_dog_sweat"><!--v-if--></button><button title="weibo_dog_think"><!--v-if--></button><button title="weibo_dog_yum"><!--v-if--></button><button title="weibo_cat"><!--v-if--></button><button title="weibo_cat_annoyed"><!--v-if--></button><button title="weibo_cat_bye"><!--v-if--></button><button title="weibo_cat_cry"><!--v-if--></button><button title="weibo_cat_think"><!--v-if--></button><button title="weibo_girl_annoyed"><!--v-if--></button><button title="weibo_boy"><!--v-if--></button><button title="weibo_girl"><!--v-if--></button><button title="weibo_panda"><!--v-if--></button><button title="weibo_pig"><!--v-if--></button><button title="weibo_rabbit"><!--v-if--></button><button title="weibo_ultraman"><!--v-if--></button><button title="weibo_wool_group"><!--v-if--></button><button title="weibo_yan"><!--v-if--></button><button title="weibo_xi"><!--v-if--></button><button title="weibo_soap"><!--v-if--></button><button title="weibo_meng"><!--v-if--></button><button title="weibo_jiong"><!--v-if--></button><button title="weibo_geili"><!--v-if--></button><button title="weibo_shenma"><!--v-if--></button><button title="weibo_alpaca"><!--v-if--></button></div><!--v-if--></div></div></div><!--v-if--></div><div class="wl-count"><!--v-if--> 评论</div><div class="wl-cards"></div><div class="wl-operation"><button type="button" class="wl-btn">刷新</button></div><!-- Copyright Information --><div class="wl-power"> Powered by <a href="https://github.com/walinejs/waline" target="_blank" rel="noreferrer"> Waline </a> v2.5.1</div></div></div>
  <script type="text/javascript">
    Fluid.utils.loadComments('#waline', function() {
      Fluid.utils.createCssLink('https://lib.baomitu.com/waline/2.5.1/waline.min.css')
      Fluid.utils.createScript('https://lib.baomitu.com/waline/2.5.1/waline.min.js', function() {
        var options = Object.assign(
          {"serverURL":"https://waline.2333.world/","path":"window.location.pathname","meta":["nick","mail","link"],"requiredMeta":["nick","mail"],"lang":"zh-CN","emoji":["https://cdn.jsdelivr.net/gh/walinejs/emojis/weibo"],"dark":"html[data-user-color-scheme=\"dark\"]","wordLimit":300,"pageSize":10,"placeholder":null,"avatar":"retro","avatarCDN":"https://seccdn.libravatar.org/avatar/","avatarForce":false,"highlight":true},
          {
            el: '#waline',
            path: window.location.pathname
          }
        )
        Waline.init(options);
        Fluid.utils.waitElementVisible('#waline .vcontent', () => {
          var imgSelector = '#waline .vcontent img:not(.vemoji)';
          Fluid.plugins.imageCaption(imgSelector);
          Fluid.plugins.fancyBox(imgSelector);
        })
      });
    });
  </script>
  <noscript>Please enable JavaScript to view the comments</noscript>


  </article>


          </article>
        </div>
      </div>
    </div>

    <div class="side-col d-none d-lg-block col-lg-2" style="padding-top: 64px;">
      
  <aside class="sidebar" style="margin-left: -1rem">
    <div id="toc" style="visibility: visible;">
  <p class="toc-header"><i class="iconfont icon-list"></i>&nbsp;目录</p>
  <div class="toc-body" id="toc-body"><ol class="tocbot-list "><li class="toc-list-item"><a title="必要条件" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E5%BF%85%E8%A6%81%E6%9D%A1%E4%BB%B6" class="tocbot-link node-name--H2 ">必要条件</a></li><li class="toc-list-item"><a title="准备工作" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E5%87%86%E5%A4%87%E5%B7%A5%E4%BD%9C" class="tocbot-link node-name--H2 ">准备工作</a><ol class="tocbot-list  tocbot-is-collapsible tocbot-is-collapsed"><li class="toc-list-item"><a title="先把要用的软件包安装上" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E5%85%88%E6%8A%8A%E8%A6%81%E7%94%A8%E7%9A%84%E8%BD%AF%E4%BB%B6%E5%8C%85%E5%AE%89%E8%A3%85%E4%B8%8A" class="tocbot-link node-name--H3 ">先把要用的软件包安装上</a></li><li class="toc-list-item"><a title="然后下载OPQBot" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E7%84%B6%E5%90%8E%E4%B8%8B%E8%BD%BDOPQBot" class="tocbot-link node-name--H3 ">然后下载OPQBot</a><ol class="tocbot-list  tocbot-is-collapsible tocbot-is-collapsed"><li class="toc-list-item"><a title="解压下载的压缩包" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E8%A7%A3%E5%8E%8B%E4%B8%8B%E8%BD%BD%E7%9A%84%E5%8E%8B%E7%BC%A9%E5%8C%85" class="tocbot-link node-name--H4 ">解压下载的压缩包</a></li></ol></li><li class="toc-list-item"><a title="clone色图姬" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#clone%E8%89%B2%E5%9B%BE%E5%A7%AC" class="tocbot-link node-name--H3 ">clone色图姬</a></li><li class="toc-list-item"><a title="登录OPQBot" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E7%99%BB%E5%BD%95OPQBot" class="tocbot-link node-name--H3 ">登录OPQBot</a><ol class="tocbot-list  tocbot-is-collapsible tocbot-is-collapsed"><li class="toc-list-item"><a title="获取token" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E8%8E%B7%E5%8F%96token" class="tocbot-link node-name--H4 ">获取token</a></li><li class="toc-list-item"><a title="启动OPQBot" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E5%90%AF%E5%8A%A8OPQBot" class="tocbot-link node-name--H4 ">启动OPQBot</a></li><li class="toc-list-item"><a title="扫码登陆" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E6%89%AB%E7%A0%81%E7%99%BB%E9%99%86" class="tocbot-link node-name--H4 ">扫码登陆</a></li></ol></li></ol></li><li class="toc-list-item"><a title="启动SetuBot" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E5%90%AF%E5%8A%A8SetuBot" class="tocbot-link node-name--H2 ">启动SetuBot</a><ol class="tocbot-list  tocbot-is-collapsible"><li class="toc-list-item"><a title="安装依赖模块" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E5%AE%89%E8%A3%85%E4%BE%9D%E8%B5%96%E6%A8%A1%E5%9D%97" class="tocbot-link node-name--H3 ">安装依赖模块</a></li><li class="toc-list-item"><a title="填写botoy.json" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E5%A1%AB%E5%86%99botoy-json" class="tocbot-link node-name--H3 ">填写botoy.json</a><ol class="tocbot-list  tocbot-is-collapsible tocbot-is-collapsed"><li class="toc-list-item"><a title="setu.refresh_token" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#setu-refresh-token" class="tocbot-link node-name--H4 ">setu.refresh_token</a><ol class="tocbot-list  tocbot-is-collapsible tocbot-is-collapsed"><li class="toc-list-item"><a title="安装docker" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E5%AE%89%E8%A3%85docker" class="tocbot-link node-name--H5 ">安装docker</a></li><li class="toc-list-item"><a title="获取refresh_token" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E8%8E%B7%E5%8F%96refresh-token" class="tocbot-link node-name--H5 ">获取refresh_token</a></li><li class="toc-list-item"><a title="保存配置" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E4%BF%9D%E5%AD%98%E9%85%8D%E7%BD%AE" class="tocbot-link node-name--H5 ">保存配置</a></li></ol></li><li class="toc-list-item"><a title="searchPicture.apiKey" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#searchPicture-apiKey" class="tocbot-link node-name--H4 ">searchPicture.apiKey</a><ol class="tocbot-list  tocbot-is-collapsible tocbot-is-collapsed"><li class="toc-list-item"><a title="保存配置" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E4%BF%9D%E5%AD%98%E9%85%8D%E7%BD%AE-1" class="tocbot-link node-name--H5 ">保存配置</a></li></ol></li><li class="toc-list-item"><a title="其他配置项" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E5%85%B6%E4%BB%96%E9%85%8D%E7%BD%AE%E9%A1%B9" class="tocbot-link node-name--H4 ">其他配置项</a></li></ol></li><li class="toc-list-item is-active-li"><a title="运行色图姬插件" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E8%BF%90%E8%A1%8C%E8%89%B2%E5%9B%BE%E5%A7%AC%E6%8F%92%E4%BB%B6" class="tocbot-link node-name--H3  tocbot-active-link">运行色图姬插件</a></li></ol></li><li class="toc-list-item"><a title="未完待续~" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#%E6%9C%AA%E5%AE%8C%E5%BE%85%E7%BB%AD" class="tocbot-link node-name--H1 ">未完待续~</a></li></ol></div>
</div>



  </aside>


    </div>
  </div>
</div>





  



  



  



  



  







    

    
      <a id="scroll-top-button" aria-label="TOP" href="https://2333.world/_posts/2022_02_13/%E4%BB%8E0%E5%BC%80%E5%A7%8B%E6%90%AD%E5%BB%BA%E4%B8%80%E4%B8%AA%E8%89%B2%E5%9B%BEBot/#" role="button" style="bottom: 20px; right: 310.516px;">
        <i class="iconfont icon-arrowup" aria-hidden="true"></i>
      </a>
    

    
      <div class="modal fade" id="modalSearch" tabindex="-1" role="dialog" aria-labelledby="ModalLabel" aria-hidden="true">
  <div class="modal-dialog modal-dialog-scrollable modal-lg" role="document">
    <div class="modal-content">
      <div class="modal-header text-center">
        <h4 class="modal-title w-100 font-weight-bold">搜索</h4>
        <button type="button" id="local-search-close" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">×</span>
        </button>
      </div>
      <div class="modal-body mx-3">
        <div class="md-form mb-5">
          <input type="text" id="local-search-input" class="form-control validate">
          <label data-error="x" data-success="v" for="local-search-input">关键词</label>
        </div>
        <div class="list-group" id="local-search-result"></div>
      </div>
    </div>
  </div>
</div>

    

    
  </main>

  <footer>
    <div class="footer-inner">
  
    <div class="footer-content">
       <a href="https://hexo.io/" target="_blank" rel="nofollow noopener"><span>Hexo</span></a> <i class="iconfont icon-love"></i> <a href="https://github.com/fluid-dev/hexo-theme-fluid" target="_blank" rel="nofollow noopener"><span>Fluid</span></a> 
    </div>
  
  
  
  
</div>

  </footer>

  <!-- Scripts -->
  
  <script src="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/nprogress.min.js.下载"></script>
  <link rel="stylesheet" href="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/nprogress.min.css">

  <script>
    NProgress.configure({"showSpinner":false,"trickleSpeed":100})
    NProgress.start()
    window.addEventListener('load', function() {
      NProgress.done();
    })
  </script>


<script src="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/jquery.min.js.下载"></script>
<script src="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/bootstrap.min.js.下载"></script>
<script src="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/events.js.下载"></script>
<script src="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/plugins.js.下载"></script>


  <script src="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/typed.min.js.下载"></script>
  <script>
    (function (window, document) {
      var typing = Fluid.plugins.typing;
      var subtitle = document.getElementById('subtitle');
      if (!subtitle || !typing) {
        return;
      }
      var text = subtitle.getAttribute('data-typed-text');
      
        typing(text);
      
    })(window, document);
  </script><style type="text/css" data-typed-js-css="true">
        .typed-cursor{
          opacity: 1;
        }
        .typed-cursor.typed-cursor--blink{
          animation: typedjsBlink 0.7s infinite;
          -webkit-animation: typedjsBlink 0.7s infinite;
                  animation: typedjsBlink 0.7s infinite;
        }
        @keyframes typedjsBlink{
          50% { opacity: 0.0; }
        }
        @-webkit-keyframes typedjsBlink{
          0% { opacity: 1; }
          50% { opacity: 0.0; }
          100% { opacity: 1; }
        }
      </style>




  
    <script src="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/img-lazyload.js.下载"></script>
  




  
<script>
  Fluid.utils.createScript('https://lib.baomitu.com/tocbot/4.18.2/tocbot.min.js', function() {
    var toc = jQuery('#toc');
    if (toc.length === 0 || !window.tocbot) { return; }
    var boardCtn = jQuery('#board-ctn');
    var boardTop = boardCtn.offset().top;

    window.tocbot.init(Object.assign({
      tocSelector     : '#toc-body',
      contentSelector : '.markdown-body',
      linkClass       : 'tocbot-link',
      activeLinkClass : 'tocbot-active-link',
      listClass       : 'tocbot-list',
      isCollapsedClass: 'tocbot-is-collapsed',
      collapsibleClass: 'tocbot-is-collapsible',
      scrollSmooth    : true,
      includeTitleTags: true,
      headingsOffset  : -boardTop,
    }, CONFIG.toc));
    if (toc.find('.toc-list-item').length > 0) {
      toc.css('visibility', 'visible');
    }

    Fluid.events.registerRefreshCallback(function() {
      if ('tocbot' in window) {
        tocbot.refresh();
        var toc = jQuery('#toc');
        if (toc.length === 0 || !tocbot) {
          return;
        }
        if (toc.find('.toc-list-item').length > 0) {
          toc.css('visibility', 'visible');
        }
      }
    });
  });
</script><script src="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/tocbot.min.js.下载" type="text/javascript" charset="UTF-8"></script>


  <script src="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/clipboard.min.js.下载"></script>

  <script>Fluid.plugins.codeWidget();</script>


  
<script>
  Fluid.utils.createScript('https://lib.baomitu.com/anchor-js/4.3.1/anchor.min.js', function() {
    window.anchors.options = {
      placement: CONFIG.anchorjs.placement,
      visible  : CONFIG.anchorjs.visible
    };
    if (CONFIG.anchorjs.icon) {
      window.anchors.options.icon = CONFIG.anchorjs.icon;
    }
    var el = (CONFIG.anchorjs.element || 'h1,h2,h3,h4,h5,h6').split(',');
    var res = [];
    for (var item of el) {
      res.push('.markdown-body > ' + item.trim());
    }
    if (CONFIG.anchorjs.placement === 'left') {
      window.anchors.options.class = 'anchorjs-link-left';
    }
    window.anchors.add(res.join(', '));

    Fluid.events.registerRefreshCallback(function() {
      if ('anchors' in window) {
        anchors.removeAll();
        var el = (CONFIG.anchorjs.element || 'h1,h2,h3,h4,h5,h6').split(',');
        var res = [];
        for (var item of el) {
          res.push('.markdown-body > ' + item.trim());
        }
        if (CONFIG.anchorjs.placement === 'left') {
          anchors.options.class = 'anchorjs-link-left';
        }
        anchors.add(res.join(', '));
      }
    });
  });
</script><script src="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/anchor.min.js.下载" type="text/javascript" charset="UTF-8"></script>


  
<script>
  Fluid.utils.createScript('https://lib.baomitu.com/fancybox/3.5.7/jquery.fancybox.min.js', function() {
    Fluid.plugins.fancyBox();
  });
</script><script src="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/jquery.fancybox.min.js.下载" type="text/javascript" charset="UTF-8"></script>


  <script>Fluid.plugins.imageCaption();</script>

  <script src="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/local-search.js.下载"></script>





<!-- 主题的启动项，将它保持在最底部 -->
<!-- the boot of the theme, keep it at the bottom -->
<script src="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/boot.js.下载"></script><script src="./从0开始搭建一个色图Bot - Yuban10703&#39;s site_files/waline.min.js.下载" type="text/javascript" charset="UTF-8"></script>


  

  <noscript>
    <div class="noscript-warning">博客在允许 JavaScript 运行的环境下浏览效果更佳</div>
  </noscript>


</body></html>